/**
 * @addtogroup bsc_hj1239_collect_data
 * bsc_hj1239_collect_data
 * @{
 */
/**
 * @file        bsc_hj1239_collect_data.h
 * @brief       不同项目各自实现
 * @note        XXXX
 * @author      靳普诏(puzhao.jin@hopechart.com)
 * @date        2023/10/30
 * @version     1.0

 * @par         修改日志
 * <table>
 * <tr><th>Date         <th>Version     <th>Author      <th> Description
 * <tr><td>2023/10/30   <td>1.0         <td>靳普诏       <td> 创建初始版本
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */

#ifndef _BSC_HJ1239_COLLECT_DATA_H_
#define _BSC_HJ1239_COLLECT_DATA_H_

#include "ofc/ofc_types.h"

#ifdef __cplusplus
extern "C"
{
#endif



/// 数据: 0  Obd协议选择。  数据类型： UInt8  有效范围0~2，“0”代表IOS15765， “1”代表IOS27145,“2”代表了SAEJ1939,“0xFE”表示无效
UInt8 BsHj1239CollectDataObdProtocolType(void);



/// 数据: 1  MIL状态。  数据类型： UInt8  有效范围0~1，“0”代表未点亮，“1”代表点亮，“0xFE”表示无效
UInt8 BsHj1239CollectDataObdMilStatus(void);



/// 数据: 2  OBD 诊断支持状态。  数据类型： UInt16  单位：
UInt16 BsHj1239CollectDataObdMonritorSupportStatus(void);



/// 数据: 3  OBD 诊断就绪状态   数据类型： UInt16  
UInt16 BsHj1239CollectDataObdMonitorReadyStatus(void);


/**
 * 数据: 4  OBD 车辆识别码, 长度: 17。  数据类型： string
 * @param r_buff        返回数据结果
 * @param r_buff_size   数据缓存长度
 * @return >= 0  成功, 实际数据长度
 *         <  0  失败
 */
Int32  BsHj1239CollectDataObdVin(Int8 *r_buff, UInt32 r_buff_size);



/**
 * 数据: 5  校准标识符, 长度: 18。  数据类型： string
 * @param r_buff        返回数据结果
 * @param r_buff_size   数据缓存长度
 * @return >= 0  成功, 实际数据长度
 *         <  0  失败
 */
Int32  BsHj1239CollectDataObdEcuCalId(Int8 *r_buff, UInt32 r_buff_size);


/**
 * 数据: 6  标定验证码, 长度: 18。  数据类型： string
 * @param r_buff        返回数据结果
 * @param r_buff_size   数据缓存长度
 * @return >= 0  成功, 实际数据长度
 *         <  0  失败
 */
Int32  BsHj1239CollectDataObdEcuCvn(Int8 *r_buff, UInt32 r_buff_size);



/**
 * 数据: 7  OBD IUPR值 精度：0.4%/bit 偏移量：0 数据范围：0 ~ 100 % “0xFF”表示无效。长度: 36。  数据类型： string
 * @param r_buff        返回数据结果
 * @param r_buff_size   数据缓存长度
 * @return >= 0  成功, 实际数据长度
 *         <  0  失败
 */
Int32  BsHj1239CollectDataObdIupr(Int8 *r_buff, UInt32 r_buff_size);



/// 数据: 8  故障码总数  数据类型： UInt8  None
UInt8 BsHj1239CollectDataObdEcuFaultCodeCount(void);


/**
 * 数据: 9  故障码, 最长长度: 260。  数据类型： string
 * @param r_buff        返回数据结果
 * @param r_buff_size   数据缓存长度
 * @return >= 0  成功, 实际数据长度
 *         <  0  失败
 */
Int32  BsHj1239CollectDataObdEcuFaultCode(Int8 *r_buff, UInt32 r_buff_size);



/// 数据: 10  车速。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataVehiSpeedJCcvs(void);



/// 数据: 11  大气压力（直接测量或估计值）  数据类型： UInt8  None
UInt8 BsHj1239CollectDataBarometricPressJAmb(void);



/// 数据: 12  发动机净输出扭矩或实际扭矩。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataEngineTorqueJEec1(void);



/// 数据: 13  摩擦扭矩。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataPercentTorqueJEec3(void);



/// 数据: 14  发动机转速。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataEngineSpeedJEec1(void);



/// 数据: 15  发动机燃料流量。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataEngineFuelRateJLfe(void);



/// 数据: 16  SCR上游NOx传感器输出值。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataIntakeNoxJAt1ig1(void);



/// 数据: 17  SCR下游NOx传感器输出值。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataOutletNoxJAt1og1(void);



/// 数据: 18  反应剂余量。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataReactionAgenAllowance(void);



/// 数据: 19  空气质量流量传感器读取的进气量。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataAirMassFlowRateJEgf1(void);



/// 数据: 20  SCR入口温度。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataIntakeGasTempJA1scergt(void);



/// 数据: 21  SCR出口温度。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataOutlatGasTempJA1scergt(void);



/// 数据: 22  DPF压差。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataDpfDiffPressureJAt1mg(void);



/// 数据: 23  发动机冷却液温度。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataCoolantTempJEt1(void);



/// 数据: 24  油箱液位。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataFuelLevel1JDd(void);



/// 数据: 25  gps位置标记,Bit0: 1(Valid) ,Bit1: 北纬:1;南纬:0,Bit2: 东经:1;西经:0。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataGpsPointFlag(void);



/// 数据: 26  gps位置经度，精确到小数点后7位。  数据类型： UInt32  None
UInt32 BsHj1239CollectDataGpsPointLong(void);



/// 数据: 27  gps位置纬度，精确到小数点后7位。  数据类型： UInt32  None
UInt32 BsHj1239CollectDataGpsPointLat(void);



/// 数据: 28  高分辨率总里程。  数据类型： UInt32  None
UInt32 BsHj1239CollectDataTotalDistanceJVdhr(void);



/// 数据: 29  三元催化器上游氧传感器输出值。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataTwcInletOxHXxx(void);



/// 数据: 30  三元催化器下游氧传感器输出值。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataTwcOutletOxHXxx(void);



/// 数据: 31  三元催化器温度传感器输出（上游、或下游、或模拟）。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataTwcTempValue(void);



/// 数据: 32  三元催化器下游NOx传感器输出。  数据类型： UInt16  None
UInt16 BsHj1239CollectDataTwcOutletNoxHXxx(void);



/// 数据: 33  电机转速  数据类型： UInt16  None
UInt16 BsHj1239CollectDataMotorSpeed(void);



/// 数据: 34  电机负荷百分比  数据类型： UInt8  None
UInt8 BsHj1239CollectDataMotorLoadPercentage(void);



/// 数据: 35  电池电压  数据类型： UInt16  None
UInt16 BsHj1239CollectDataBatteryVoltage(void);



/// 数据: 36  电池电流  数据类型： UInt16  None
UInt16 BsHj1239CollectDataBatteryCurrent(void);



/// 数据: 37  荷电状态（SOC)  数据类型： UInt8  None
UInt8 BsHj1239CollectDataSocState(void);



/// 数据: 38  发动机扭矩模式  数据类型： UInt8  None
UInt8 BsHj1239CollectDataEngineTorqueMode(void);



/// 数据: 39  油门踏板  数据类型： UInt8  None
UInt8 BsHj1239CollectDataAcceleratorPedal(void);



/// 数据: 40  累计油耗（总油耗）  数据类型： UInt32  None
UInt32 BsHj1239CollectDataTotleFuelConsumption(void);



/// 数据: 41  尿素箱温度  数据类型： UInt8  None
UInt8 BsHj1239CollectDataUreaTankTemperature(void);



/// 数据: 42  实际尿素喷射量  数据类型： UInt32  None
UInt32 BsHj1239CollectDataActualUreaInjectionVolume(void);



/// 数据: 43  累计尿素消耗（总尿素消耗）  数据类型： UInt32  None
UInt32 BsHj1239CollectDataTotleUreaConsumption(void);



/// 数据: 44  DPF排气温度  数据类型： UInt16  None
UInt16 BsHj1239CollectDataDpfExhaustTemperature(void);



/// 数据: 45  发动机最大基准扭矩。采集频率：注册时上传  数据类型： UInt16  None
UInt16 BsHj1239CollectDataReftorqueJEc1(void);



/// 数据: 46  尿素液位。  数据类型： UInt8  None
UInt8 BsHj1239CollectDataCatalystTankLevelJAt1t1i(void);




#ifdef __cplusplus
}  ///< extern "C"
#endif

#endif  ///< _BSC_HJ1239_COLLECT_DATA_H_

/**
 * @}  Generated on "2023-10-30 16:02:39" by the tool "gen_hq_file.py >> V20230509_1" 
 */
